﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum ВидыОперацийПринятияКУчетуОсновныхСредств
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"91c1d6f8-738b-4f8c-bd10-4b1913dca07a\", \"Представление\":\"Оборудование\"}")]
		Оборудование = 0,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"a527360a-ccc6-4baa-b29b-03a55502bdc8\", \"Представление\":\"ОбъектыСтроительства\"}")]
		ОбъектыСтроительства = 1,//Объекты строительства
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"3edcee5e-81c6-41f8-88a2-b86b29d91d32\", \"Представление\":\"Прочее\"}")]
		Прочее = 2,
	}
	public static partial class ВидыОперацийПринятияКУчетуОсновныхСредств_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid Оборудование = new Guid("194b10bd-dc13-7aa0-4f8c-738b91c1d6f8");
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ОбъектыСтроительства = new Guid("a5039bb2-0255-c8bd-4baa-ccc6a527360a");//Объекты строительства
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid Прочее = new Guid("6bb8a288-d929-321d-41f8-81c63edcee5e");
		public static ВидыОперацийПринятияКУчетуОсновныхСредств Получить(this ВидыОперацийПринятияКУчетуОсновныхСредств Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыОперацийПринятияКУчетуОсновныхСредств Получить(this ВидыОперацийПринятияКУчетуОсновныхСредств Значение, Guid Ссылка)
		{
			if(Ссылка == Оборудование)
			{
				return ВидыОперацийПринятияКУчетуОсновныхСредств.Оборудование;
			}
			else if(Ссылка == ОбъектыСтроительства)
			{
				return ВидыОперацийПринятияКУчетуОсновныхСредств.ОбъектыСтроительства;
			}
			else if(Ссылка == Прочее)
			{
				return ВидыОперацийПринятияКУчетуОсновныхСредств.Прочее;
			}
			return ВидыОперацийПринятияКУчетуОсновныхСредств.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыОперацийПринятияКУчетуОсновныхСредств Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыОперацийПринятияКУчетуОсновныхСредств Значение)
		{
			switch (Значение)
			{
				case ВидыОперацийПринятияКУчетуОсновныхСредств.Оборудование: return Оборудование;
				case ВидыОперацийПринятияКУчетуОсновныхСредств.ОбъектыСтроительства: return ОбъектыСтроительства;
				case ВидыОперацийПринятияКУчетуОсновныхСредств.Прочее: return Прочее;
			}
			return Guid.Empty;
		}
	}
}